package com.example.service;

import com.example.common.Result;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 管理员报表服务接口
 */
public interface AdminReportsService {
    
    /**
     * 获取管理员报表数据（全平台统计）
     */
    Result<Map<String, Object>> getAdminReportsData(String startDate, String endDate, String timeType);
    
    /**
     * 获取全平台收入统计（包含成本和利润）
     */
    Result<Map<String, Object>> getPlatformIncomeStatistics(String startDate, String endDate);
    
    /**
     * 获取全平台收入趋势数据
     */
    Result<Map<String, Object>> getPlatformRevenueTrend(String startDate, String endDate, String timeType);
    

    
    /**
     * 获取成本分析数据
     */
    Result<Map<String, Object>> getCostAnalysis(String startDate, String endDate);
    
    /**
     * 获取利润分析数据
     */
    Result<Map<String, Object>> getProfitAnalysis(String startDate, String endDate);
    
    // 测试方法
    BigDecimal testTodayPackageRevenue();
    BigDecimal testTodayPurchaseRevenue();
    BigDecimal testTodayRechargeRevenue();
    
    /**
     * 获取管理员总数据报表
     */
    Result<Map<String, Object>> getAdminSummaryReports(String startDate, String endDate);
    
    /**
     * 生成管理员总数据报表（手动触发）
     */
    Result<String> generateAdminReports(String reportDate);
    
    /**
     * 获取管理员报表历史数据
     */
    Result<Map<String, Object>> getAdminReportsHistory(String startDate, String endDate, int page, int size);
} 